{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# 时间序列处理\n",
    "* 产生时间序列\n",
    "* 时间数据选择\n",
    "* Leading和lagging\n",
    "\n",
    "#### 处理dataframe时，经常会遇到时间类型数据，本次课会介绍时间序列处理的常见function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=pd.read_csv('stock.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## 产生时间序列\n",
    "* 单一时间产生\n",
    "* 一系列时间产生"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 单一时间产生 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [],
   "source": [
    "ts = pd.Timestamp('2000-01-01 00:00')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-01    101.7\n",
       "dtype: float64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1 = pd.Series(101.7, index=[ts])\n",
    "s1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2000-01-01'], dtype='datetime64[ns]', freq=None)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.index"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### 一系列时间产生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-31   -0.635489\n",
       "2000-02-29    0.189415\n",
       "2000-03-31   -2.523849\n",
       "2000-04-30   -0.043674\n",
       "2000-05-31    0.983480\n",
       "2000-06-30    1.134883\n",
       "2000-07-31    0.995807\n",
       "2000-08-31   -0.872080\n",
       "2000-09-30    0.454916\n",
       "2000-10-31    1.008104\n",
       "Freq: M, dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dts = pd.date_range('2000-01-01',  freq='M',periods=10)\n",
    "ts = pd.Series(np.random.randn(len(dts)), index=dts)\n",
    "ts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03   -0.647028\n",
       "2000-01-04    0.575257\n",
       "2000-01-05    0.723829\n",
       "2000-01-06   -0.661101\n",
       "2000-01-07   -0.603149\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create a year's worth of business dates\n",
    "dts = pd.date_range('2000-01-01', '2001-12-31', freq='B')\n",
    "ts = pd.Series(np.random.randn(len(dts)), index=dts)\n",
    "ts.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.date_range('2020-02-27','2020-03-11',freq='B')\n",
    "\n",
    "s1=pd.Series(range(10),index=pd.date_range('2020-02-27','2020-03-11',freq='B'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## 时间数据选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.3230961348459032"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['2000-03-20'] # ts.loc['2000-03-20']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.3230961348459032"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['20000320']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-03-24    0.339255\n",
       "2000-03-27   -1.463714\n",
       "2000-03-28    1.352939\n",
       "2000-03-29   -0.502043\n",
       "2000-03-30   -0.077271\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['2000-03-24':'2000-03-30']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "#### 通过month选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-02-01    1.243706\n",
       "2000-02-02   -0.833905\n",
       "2000-02-03   -1.201214\n",
       "2000-02-04   -0.604911\n",
       "2000-02-07    0.301704\n",
       "2000-02-08   -0.682359\n",
       "2000-02-09    0.279008\n",
       "2000-02-10    1.435486\n",
       "2000-02-11    1.471774\n",
       "2000-02-14    0.599674\n",
       "2000-02-15   -0.401574\n",
       "2000-02-16    0.788186\n",
       "2000-02-17    1.090952\n",
       "2000-02-18    0.640494\n",
       "2000-02-21    0.704782\n",
       "2000-02-22   -0.562190\n",
       "2000-02-23    1.578145\n",
       "2000-02-24    0.929026\n",
       "2000-02-25    0.438870\n",
       "2000-02-28   -0.278254\n",
       "2000-02-29    1.492881\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['2000-02']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "#### 通过年份选择"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03   -0.647028\n",
       "2000-01-04    0.575257\n",
       "2000-01-05    0.723829\n",
       "2000-01-06   -0.661101\n",
       "2000-01-07   -0.603149\n",
       "                ...   \n",
       "2000-12-25   -1.902120\n",
       "2000-12-26    1.825931\n",
       "2000-12-27   -1.513815\n",
       "2000-12-28    1.214950\n",
       "2000-12-29   -0.949206\n",
       "Freq: B, Length: 260, dtype: float64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['2000']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Leading and Lagging\n",
    "* Lagging\n",
    "* Leading\n",
    "* Shift\n",
    "* Tshift\n",
    "* Diff\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Lagging"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 10,
     "metadata": {
      "image/png": {
       "height": 345,
       "width": 577
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "image('lag.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Leading"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 13,
     "metadata": {
      "image/png": {
       "height": 348,
       "width": 678
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "image('lead.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Shift - index不更新"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03   -0.647028\n",
       "2000-01-04    0.575257\n",
       "2000-01-05    0.723829\n",
       "2000-01-06   -0.661101\n",
       "2000-01-07   -0.603149\n",
       "2000-01-10    0.821449\n",
       "2000-01-11    0.767641\n",
       "2000-01-12   -0.981270\n",
       "2000-01-13    0.280138\n",
       "2000-01-14   -1.160459\n",
       "2000-01-17   -0.196531\n",
       "2000-01-18   -2.635773\n",
       "2000-01-19    0.363950\n",
       "2000-01-20   -1.185990\n",
       "2000-01-21    0.277159\n",
       "2000-01-24   -0.341839\n",
       "2000-01-25   -0.244009\n",
       "2000-01-26   -1.511807\n",
       "2000-01-27    0.034942\n",
       "2000-01-28    0.537412\n",
       "2000-01-31   -0.086110\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts['2000-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03         NaN\n",
       "2000-01-04   -0.647028\n",
       "2000-01-05    0.575257\n",
       "2000-01-06    0.723829\n",
       "2000-01-07   -0.661101\n",
       "2000-01-10   -0.603149\n",
       "2000-01-11    0.821449\n",
       "2000-01-12    0.767641\n",
       "2000-01-13   -0.981270\n",
       "2000-01-14    0.280138\n",
       "2000-01-17   -1.160459\n",
       "2000-01-18   -0.196531\n",
       "2000-01-19   -2.635773\n",
       "2000-01-20    0.363950\n",
       "2000-01-21   -1.185990\n",
       "2000-01-24    0.277159\n",
       "2000-01-25   -0.341839\n",
       "2000-01-26   -0.244009\n",
       "2000-01-27   -1.511807\n",
       "2000-01-28    0.034942\n",
       "2000-01-31    0.537412\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts2k = ts['2000-01'].copy()\n",
    "ts2k.shift(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03         NaN\n",
       "2000-01-04         NaN\n",
       "2000-01-05   -0.647028\n",
       "2000-01-28   -1.511807\n",
       "2000-01-31    0.034942\n",
       "dtype: float64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts2k = ts['2000-01'].copy()\n",
    "ts2k.shift(2).iloc[[0, 1, 2, -2, -1]] # show first and last few rows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "source": [
    "### Tshift - index更新"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2020-02-28    0\n",
       "2020-03-02    1\n",
       "2020-03-03    2\n",
       "2020-03-04    3\n",
       "2020-03-05    4\n",
       "2020-03-06    5\n",
       "2020-03-09    6\n",
       "2020-03-10    7\n",
       "2020-03-11    8\n",
       "2020-03-12    9\n",
       "Freq: B, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.tshift(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2020-02-27    NaN\n",
       "2020-02-28    0.0\n",
       "2020-03-02    1.0\n",
       "2020-03-03    2.0\n",
       "2020-03-04    3.0\n",
       "2020-03-05    4.0\n",
       "2020-03-06    5.0\n",
       "2020-03-09    6.0\n",
       "2020-03-10    7.0\n",
       "2020-03-11    8.0\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.shift(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2020-02-27    0\n",
       "2020-02-28    1\n",
       "2020-03-02    2\n",
       "2020-03-03    3\n",
       "2020-03-04    4\n",
       "2020-03-05    5\n",
       "2020-03-06    6\n",
       "2020-03-09    7\n",
       "2020-03-10    8\n",
       "2020-03-11    9\n",
       "Freq: B, dtype: int64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Diff - 计算数据变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03         NaN\n",
       "2000-01-04    1.222284\n",
       "2000-01-05    0.148573\n",
       "2000-01-06   -1.384931\n",
       "2000-01-07    0.057952\n",
       "2000-01-10    1.424598\n",
       "2000-01-11   -0.053808\n",
       "2000-01-12   -1.748910\n",
       "2000-01-13    1.261408\n",
       "2000-01-14   -1.440597\n",
       "2000-01-17    0.963928\n",
       "2000-01-18   -2.439242\n",
       "2000-01-19    2.999723\n",
       "2000-01-20   -1.549940\n",
       "2000-01-21    1.463149\n",
       "2000-01-24   -0.618997\n",
       "2000-01-25    0.097829\n",
       "2000-01-26   -1.267798\n",
       "2000-01-27    1.546749\n",
       "2000-01-28    0.502470\n",
       "2000-01-31   -0.623522\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts2k-ts2k.shift(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2000-01-03         NaN\n",
       "2000-01-04    1.222284\n",
       "2000-01-05    0.148573\n",
       "2000-01-06   -1.384931\n",
       "2000-01-07    0.057952\n",
       "2000-01-10    1.424598\n",
       "2000-01-11   -0.053808\n",
       "2000-01-12   -1.748910\n",
       "2000-01-13    1.261408\n",
       "2000-01-14   -1.440597\n",
       "2000-01-17    0.963928\n",
       "2000-01-18   -2.439242\n",
       "2000-01-19    2.999723\n",
       "2000-01-20   -1.549940\n",
       "2000-01-21    1.463149\n",
       "2000-01-24   -0.618997\n",
       "2000-01-25    0.097829\n",
       "2000-01-26   -1.267798\n",
       "2000-01-27    1.546749\n",
       "2000-01-28    0.502470\n",
       "2000-01-31   -0.623522\n",
       "Freq: B, dtype: float64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ts2k.diff(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 课后练习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sp5_df = pd.read_csv(\n",
    "    'sp500.csv', usecols=['date', 'adj_close'], \n",
    "    parse_dates=['date'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "产生一个时间数据 January 1st, 1993 16:00 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('1993-01-01 16:00:00')"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.Timestamp('1993-01-01 16:00')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "产生一个时间index:\n",
    "\n",
    "从2010-1-1开始，每5天.\n",
    "\n",
    "从2010-1-1到2010-1-15，所有的工作日\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04',\n",
       "               '2010-01-05'],\n",
       "              dtype='datetime64[ns]', freq='D')"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.date_range(start='2010-01-01', periods=5, freq='D')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2010-01-01', '2010-01-04', '2010-01-05', '2010-01-06',\n",
       "               '2010-01-07', '2010-01-08', '2010-01-11', '2010-01-12',\n",
       "               '2010-01-13', '2010-01-14', '2010-01-15'],\n",
       "              dtype='datetime64[ns]', freq='B')"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.date_range(start='2010-01-01', end='2010-01-15', freq='B')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过sp5_df的adj_close产生一个series,date作为index,并且对index排序. 新series的名字为sp5\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "sp5 = pd.Series( # __\n",
    "    sp5_df.adj_close.values, index=sp5_df.date, \n",
    "    name='adj_close').sort_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "1950-01-03    16.66\n",
       "1950-01-04    16.85\n",
       "1950-01-05    16.93\n",
       "1950-01-06    16.98\n",
       "1950-01-09    17.08\n",
       "Name: adj_close, dtype: float64"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp5.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用两种不同的方法选择1995,1,3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "d1a = sp5['19950103'] # __\n",
    "d1b = sp5['1995-01-03'] # __\n",
    "d1c = sp5[datetime.datetime(1995, 1, 3)] # __"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "选择sp5中所有1995年3月的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date\n",
       "1995-03-01    485.649994\n",
       "1995-03-02    485.130005\n",
       "1995-03-03    485.420013\n",
       "1995-03-06    485.630005\n",
       "1995-03-07    482.119995\n",
       "1995-03-08    483.140015\n",
       "1995-03-09    483.160004\n",
       "1995-03-10    489.570007\n",
       "1995-03-13    490.049988\n",
       "1995-03-14    492.890015\n",
       "1995-03-15    491.880005\n",
       "1995-03-16    495.410004\n",
       "1995-03-17    495.519989\n",
       "1995-03-20    496.140015\n",
       "1995-03-21    495.070007\n",
       "1995-03-22    495.670013\n",
       "1995-03-23    495.950012\n",
       "1995-03-24    500.970001\n",
       "1995-03-27    503.200012\n",
       "1995-03-28    503.899994\n",
       "1995-03-29    503.119995\n",
       "1995-03-30    502.220001\n",
       "1995-03-31    500.709991\n",
       "Name: adj_close, dtype: float64"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp5['1995-03']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 课后练习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sp5_df = pd.read_csv(\n",
    "    'sp500.csv', usecols=['date', 'adj_close'], \n",
    "    parse_dates=['date'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "计算每一天adj_close相较于前一天变化的百分比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0             NaN\n",
       "1       -0.009570\n",
       "2        0.002747\n",
       "3       -0.002779\n",
       "4        0.012121\n",
       "5       -0.010398\n",
       "6        0.010248\n",
       "7        0.003219\n",
       "8       -0.006291\n",
       "9        0.002044\n",
       "10      -0.004331\n",
       "11      -0.008740\n",
       "12      -0.000545\n",
       "13       0.000378\n",
       "14       0.006427\n",
       "15       0.000878\n",
       "16      -0.000985\n",
       "17      -0.004386\n",
       "18      -0.006552\n",
       "19      -0.005569\n",
       "20       0.001840\n",
       "21       0.001263\n",
       "22      -0.016131\n",
       "23      -0.000156\n",
       "24      -0.005027\n",
       "25       0.011368\n",
       "26      -0.000884\n",
       "27      -0.003295\n",
       "28      -0.003487\n",
       "29      -0.004078\n",
       "           ...   \n",
       "16646    0.000000\n",
       "16647    0.010551\n",
       "16648    0.002320\n",
       "16649   -0.004051\n",
       "16650    0.001162\n",
       "16651    0.005223\n",
       "16652   -0.001732\n",
       "16653   -0.003470\n",
       "16654   -0.010447\n",
       "16655    0.000000\n",
       "16656   -0.001759\n",
       "16657   -0.011751\n",
       "16658   -0.005351\n",
       "16659    0.000598\n",
       "16660    0.007169\n",
       "16661    0.003559\n",
       "16662   -0.001182\n",
       "16663   -0.001775\n",
       "16664   -0.001186\n",
       "16665    0.000594\n",
       "16666   -0.008304\n",
       "16667   -0.002990\n",
       "16668    0.005399\n",
       "16669    0.019690\n",
       "16670   -0.003511\n",
       "16671    0.002936\n",
       "16672   -0.005855\n",
       "16673   -0.002945\n",
       "16674   -0.004725\n",
       "16675   -0.011276\n",
       "Name: adj_close, dtype: float64"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp5_df['adj_close'] / sp5_df['adj_close'].shift(1) - 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用resample计算sp5_df的 adj_close 的月平均值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adj_close</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1950-01-31</th>\n",
       "      <td>16.875714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-02-28</th>\n",
       "      <td>17.192778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-03-31</th>\n",
       "      <td>17.346522</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-04-30</th>\n",
       "      <td>17.845263</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-05-31</th>\n",
       "      <td>18.434546</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-06-30</th>\n",
       "      <td>18.736818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-07-31</th>\n",
       "      <td>17.384000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-08-31</th>\n",
       "      <td>18.433044</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-09-30</th>\n",
       "      <td>19.084500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-10-31</th>\n",
       "      <td>19.859524</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-11-30</th>\n",
       "      <td>19.798500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1950-12-31</th>\n",
       "      <td>19.745500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-01-31</th>\n",
       "      <td>21.204546</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-02-28</th>\n",
       "      <td>21.978889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-03-31</th>\n",
       "      <td>21.617619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-04-30</th>\n",
       "      <td>21.884762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-05-31</th>\n",
       "      <td>21.938182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-06-30</th>\n",
       "      <td>21.546190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-07-31</th>\n",
       "      <td>21.931904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-08-31</th>\n",
       "      <td>22.892174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-09-30</th>\n",
       "      <td>23.484211</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-10-31</th>\n",
       "      <td>23.367727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-11-30</th>\n",
       "      <td>22.713684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1951-12-31</th>\n",
       "      <td>23.421500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-01-31</th>\n",
       "      <td>24.181363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-02-29</th>\n",
       "      <td>23.698948</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-03-31</th>\n",
       "      <td>23.810000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-04-30</th>\n",
       "      <td>23.731905</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-05-31</th>\n",
       "      <td>23.732857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1952-06-30</th>\n",
       "      <td>24.380952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-11-30</th>\n",
       "      <td>1783.541003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013-12-31</th>\n",
       "      <td>1807.775234</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-01-31</th>\n",
       "      <td>1822.356660</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-02-28</th>\n",
       "      <td>1817.034739</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-03-31</th>\n",
       "      <td>1863.523339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-04-30</th>\n",
       "      <td>1864.263335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-05-31</th>\n",
       "      <td>1889.767142</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-06-30</th>\n",
       "      <td>1947.087611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-07-31</th>\n",
       "      <td>1973.099987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-08-31</th>\n",
       "      <td>1961.531907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-09-30</th>\n",
       "      <td>1993.226190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-10-31</th>\n",
       "      <td>1937.274350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-11-30</th>\n",
       "      <td>2044.572105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014-12-31</th>\n",
       "      <td>2054.266363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-01-31</th>\n",
       "      <td>2028.178510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28</th>\n",
       "      <td>2082.195794</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-31</th>\n",
       "      <td>2079.990440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-04-30</th>\n",
       "      <td>2094.862840</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-05-31</th>\n",
       "      <td>2111.943518</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-06-30</th>\n",
       "      <td>2099.283658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-07-31</th>\n",
       "      <td>2094.143627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-08-31</th>\n",
       "      <td>2039.866205</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-09-30</th>\n",
       "      <td>1944.402384</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-10-31</th>\n",
       "      <td>2024.812716</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-11-30</th>\n",
       "      <td>2080.616504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-31</th>\n",
       "      <td>2054.079562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-31</th>\n",
       "      <td>1918.597887</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-29</th>\n",
       "      <td>1904.418494</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-31</th>\n",
       "      <td>2021.954090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>2055.494980</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>796 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              adj_close\n",
       "date                   \n",
       "1950-01-31    16.875714\n",
       "1950-02-28    17.192778\n",
       "1950-03-31    17.346522\n",
       "1950-04-30    17.845263\n",
       "1950-05-31    18.434546\n",
       "1950-06-30    18.736818\n",
       "1950-07-31    17.384000\n",
       "1950-08-31    18.433044\n",
       "1950-09-30    19.084500\n",
       "1950-10-31    19.859524\n",
       "1950-11-30    19.798500\n",
       "1950-12-31    19.745500\n",
       "1951-01-31    21.204546\n",
       "1951-02-28    21.978889\n",
       "1951-03-31    21.617619\n",
       "1951-04-30    21.884762\n",
       "1951-05-31    21.938182\n",
       "1951-06-30    21.546190\n",
       "1951-07-31    21.931904\n",
       "1951-08-31    22.892174\n",
       "1951-09-30    23.484211\n",
       "1951-10-31    23.367727\n",
       "1951-11-30    22.713684\n",
       "1951-12-31    23.421500\n",
       "1952-01-31    24.181363\n",
       "1952-02-29    23.698948\n",
       "1952-03-31    23.810000\n",
       "1952-04-30    23.731905\n",
       "1952-05-31    23.732857\n",
       "1952-06-30    24.380952\n",
       "...                 ...\n",
       "2013-11-30  1783.541003\n",
       "2013-12-31  1807.775234\n",
       "2014-01-31  1822.356660\n",
       "2014-02-28  1817.034739\n",
       "2014-03-31  1863.523339\n",
       "2014-04-30  1864.263335\n",
       "2014-05-31  1889.767142\n",
       "2014-06-30  1947.087611\n",
       "2014-07-31  1973.099987\n",
       "2014-08-31  1961.531907\n",
       "2014-09-30  1993.226190\n",
       "2014-10-31  1937.274350\n",
       "2014-11-30  2044.572105\n",
       "2014-12-31  2054.266363\n",
       "2015-01-31  2028.178510\n",
       "2015-02-28  2082.195794\n",
       "2015-03-31  2079.990440\n",
       "2015-04-30  2094.862840\n",
       "2015-05-31  2111.943518\n",
       "2015-06-30  2099.283658\n",
       "2015-07-31  2094.143627\n",
       "2015-08-31  2039.866205\n",
       "2015-09-30  1944.402384\n",
       "2015-10-31  2024.812716\n",
       "2015-11-30  2080.616504\n",
       "2015-12-31  2054.079562\n",
       "2016-01-31  1918.597887\n",
       "2016-02-29  1904.418494\n",
       "2016-03-31  2021.954090\n",
       "2016-04-30  2055.494980\n",
       "\n",
       "[796 rows x 1 columns]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp5_df.set_index('date').resample('M').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "384px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
